package com.zw.a.basic.a11.demo03_map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

//案例: 演示Map集合的遍历方式一: 根据键获取其对应的值.
/*
    具体步骤:
        1. 获取到所有的键的集合.          Map#keySet()
        2. 遍历, 获取到每一个键.          增强for, 迭代器
        3. 根据键获取其对应的值.          Map#get(K key)
 */
public class Demo04 {
    public static void main(String[] args) {
        //1.定义Map集合, 键是丈夫, 值是妻子. (键值都是字符串类型).
        HashMap<String, String> hm = new HashMap<>();
        //2.往集合中添加3对键值对元素.
        hm.put("乔峰", "阿朱");
        hm.put("虚竹", "梦姑");
        hm.put("段誉", "王语嫣");
        //3.遍历Map集合.
        //3.1. 获取到所有的键的集合.
        Set<String> keys = hm.keySet();
        //方式一: 增强for
        //3.2 遍历, 获取到每一个键
        for (String key : keys) {
            //3.3 根据键获取其对应的值.
            String value = hm.get(key);
            System.out.println(key + "..." + value);
        }
        System.out.println("--------------------------");

        //方式二: 普通迭代器
        Iterator<String> it = keys.iterator();
        while (it.hasNext()) {
            String key = it.next();
            System.out.println(key + "..." + hm.get(key));
        }
    }
}
